perm filename ADJUST.SAI[11,ALS] blob sn#118989 filedate 1974-09-11 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN "ADJUST"
C00006 ENDMK
C⊗;
BEGIN "ADJUST"
DEFINE ⊂="COMMENT";  ⊂ 9/2/73 ADJUSTS INPUT  DATA;
DEFINE CR="'15",LF="'12",CRLF="CR&LF",TB="'11";

INTEGER ARRAY INDATA[0:255];
INTEGER ARRAY LFILE[0:'177];
INTEGER ARRAY SUMS[0:23,0:63];
INTEGER I,J,K,L,M,N,P,SEGC,SEGTOT,BRK,EOF,EOFA,BPT,RL;
INTEGER CHAN1,CHAN2, CHAN3,CHAN4;
STRING READ1,FILEI,FILEL,FILLST;
BOOLEAN ER;

STDBRK(1);
SETBREAK(14,"∃",NULL,"INS");
SETBREAK(16,'56,NULL,"INA");

OUTSTR("This program adjusts the input data from the specified file "
  &"and creates a new file with extension of T0X."&CRLF);
CHAN1←1; CHAN2←2; CHAN3←3;  CHAN4←4;

OPEN(CHAN1,"DSK",'10,10,0,0,0,EOF);
LOOKUP(CHAN1,"NORMAL.DAT",0);
ARRYIN(CHAN1,SUMS[0,0],1536);
CLOSE(CHAN1);

OUTSTR("Data file list (LIST28) = "); FILEL←INCHWL;
IF FILEL="" THEN FILEL←"LIST28";
CLOSE(CHAN2); OPEN(CHAN2,"DSK",1,2,0,3500,BRK,EOFA);
LOOKUP(CHAN2,FILEL,ER);
WHILE ER DO BEGIN OUTSTR(CRLF&"Can't find "&FILEL&" File = ");
LOOKUP(CHAN2,FILEL←INCHWL,ER); END;  EOFA←0;
FILLST←INPUT(CHAN2,14); EOFA←0; RL←0; CLOSE(CHAN2);
WHILE EOFA=0 DO BEGIN "LISTREAD"
FILEI←SCAN(FILLST,1,J); IF FILEI="" THEN DONE;

CLOSE(CHAN4); OPEN(CHAN4,"DSK",'10,10,0,0,0,EOF);
LOOKUP(CHAN4,FILEI,ER);
 IF EOF≠0 THEN DONE;
ARRYIN(CHAN4,LFILE[0],'200);	⊂ Input header;
SEGTOT←(LFILE[0]*6)%256;  SEGC←0;
OUTSTR(FILEI&" "&CVS(SEGTOT)&" seg. ");

READ1←SCAN(FILEI,16,J)&"T0X";
CLOSE(CHAN3); OPEN(CHAN3,"DSK",'10,0,10,0,0,EOF);
ENTER(CHAN3,READ1,BRK); ARRYOUT(CHAN3,LFILE[0],'200);

WHILE TRUE DO BEGIN
FOR I←0 STEP 1 UNTIL 255 DO INDATA[I]←0;
ARRYIN(CHAN4,INDATA[0],256);
BPT←POINT(6,INDATA[0],-1);
FOR I←0 STEP 1 UNTIL 63 DO BEGIN
  SEGC←SEGC+1; IF SEGC>SEGTOT THEN DONE;
  FOR P←0 STEP 1 UNTIL 23 DO BEGIN
    J←ILDB(BPT);
    K←SUMS[P,J] LAND '77; DPB(K,BPT); END;
  END;
ARRYOUT(CHAN3,INDATA[0],256);
IF SEGC>SEGTOT THEN DONE;
END;

CLOSE(CHAN3); OUTSTR(" Created file "&READ1&CRLF); 

IF EOFA≠0 THEN DONE;
END "LISTREAD";


RELEASE(CHAN1); RELEASE(CHAN2); RELEASE(CHAN3); RELEASE(CHAN4);

END "ADJUST";